// pages/index/index.js
import user_login from '../../module/user_login';
import user_thing from '../../module/use_thing';
const app = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 控制
    isOK: true,
    first: true,
    gDdatail: false,
    tipsShow: false,
    page: 1,
    getMore: true,
    classArr: ['学科资料', '图书', '寝室必备', '美妆洗护', '校园代步', '生活用品', '手机3C', '文体', '服装配饰', '其它'],
    classArr2: ['xuekeziliao', 'tushu', 'qingshibibei', 'meizhuangxihu', 'xiaoyuandaibu', 'shenghuoyongping', 'shouji3c', 'wenti', 'fushichuandai', 'other'],
    // 数据
    bannerArr: [],
    sortArr: [
      {
        value: '学科资料',
        imgUrl: '../../image/sort/1.png'
      },
      {
        value: '图书',
        imgUrl: '../../image/sort/2.png'
      },
      {
        value: '寝室必备',
        imgUrl: '../../image/sort/3.png'
      },
      {
        value: '美妆洗护',
        imgUrl: '../../image/sort/4.png'
      },
      {
        value: '校园代步',
        imgUrl: '../../image/sort/5.png'
      },
      {
        value: '生活用品',
        imgUrl: '../../image/sort/6.png'
      },
      {
        value: '手机3C',
        imgUrl: '../../image/sort/7.png'
      },
      {
        value: '文体',
        imgUrl: '../../image/sort/8.png'
      },
      {
        value: '服装配饰',
        imgUrl: '../../image/sort/9.png'
      },
      {
        value: '其它',
        imgUrl: '../../image/sort/10.png'
      }
    ],
    dataArr: []
  },
  //******************************************自定义事件***************************************** */
  /**
   * 跳转详情页
   */
  goDetails(e) {
    // console.log(this.data.dataArr[e.currentTarget.dataset.num])
    let that = this;
    wx.navigateTo({
      url: '../details/details?id=' + this.data.dataArr[e.currentTarget.dataset.num].id,
      success() {
        that.setData({
          gDdatail: true
        });
      }
    });
  },
  /**
   * 搜索点击事件
   */
  searchClick() {
    // console.log("跳转搜索页");
    wx.navigateTo({
      url: '../search/search?title=搜索'
    });
  },
  /**
   * 轮播点击事件
   */
  bannerClick(e) {
    let data = this.data.bannerArr[e.target.dataset.num];
    // console.log(data)

    wx.navigateTo({
      url: '../banner/banner?data=' + JSON.stringify(data)
    });
  },
  /**
   * 分类图标点击事件
   */
  sortClick(e) {
    let that = this,
      num = e.currentTarget.dataset.num;
    wx.navigateTo({
      url: '../search/search?title=' + that.data.classArr[num] + '&category=' + that.data.classArr2[num]
    });
  },
  /**
   * 获取banner信息
   */
  getBanner() {
    user_thing.banner().then(res => {
      // console.log(res.data.data)
      let arr = res.data.data;
      if (arr.length) {
        arr.map(item => {
          item.image = app.globalData.baseURL + item.image;
        });
        this.setData({
          bannerArr: res.data.data
        });
      }
    });
  },
  /**
   * 拒绝授权
   */
  tipsCancel() {
    this.setData({
      tipsShow: false
    });
  },
  /**
   * 允许授权
   */
  tipsOk() {
    this._login();
    this.setData({
      tipsShow: false
    });
  },
  /**
   * 登录
   */
  _login(id = false) {
    let that = this;
    //登录
    user_login
      .check()
      .then(() => {
        user_login.login().then(res => {
          // console.log('login_token', res)
          //写入全局变量
          app.globalData.login_token = res.login_token;
          app.globalData.SSFW = res.auth_ssfw_account;
          // 未绑定时进入绑定页面
          if (!res.auth_ssfw_account && !id) {
            wx.navigateTo({
              url: '../login/login'
            });
          }
          that.getThing_all(1, []);
          this.showRedDot();
          that.getBanner();

          //
          if (id) {
            wx.navigateTo({
              url: '../details/details?id=' + id,
              success() {
                that.setData({
                  gDdatail: true
                });
              }
            });
          }
        });
      })
      .catch(() => {});
  },
  /**
   * 获取物品
   */
  getThing_all(page = 1, _arr = false) {
    // console.log('获取物品')

    let that = this;
    user_thing
      .getThing({
        login_token: app.globalData.login_token,
        category: 'all',
        order_by: 'by_post_time',
        page: page
      })
      .then(res => {
        // console.log(res.data)

        let arr = res.data.list,
          arr2 = _arr || that.data.dataArr;
        that.setData(
          {
            dataArr: arr2.concat(arr),
            getMore: res.data.next_page ? true : false,
            first: false,
            isOK: false
          },
          () => {
            wx.stopPullDownRefresh();
          }
        );
      })
      .catch(err => {
        console.log('err');
        wx.stopPullDownRefresh();
        that.setData({
          getMore: true
        });
      });
  },
  /**
   * 显示导航栏小红点
   */
  showRedDot() {
    user_login.myInfo().then(res => {
      console.log();
      if (res.data.data.message_count) {
        wx.showTabBarRedDot({
          index: 2
        });
      } else {
        wx.hideTabBarRedDot({
          index: 2
        });
      }
    });
  },
  //*********************************************生命周期***************************************** */
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    const that = this;
    if (app.globalData.login_token) {
      this.getThing_all(1, []);
      this.getBanner();
      this.showRedDot();
      //
      if (options.id) {
        wx.navigateTo({
          url: '../details/details?id=' + options.id,
          success() {
            that.setData({
              gDdatail: true
            });
          }
        });
      }
    } else {
      this._login(options.id);
      // console.log(2)
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {
    if (!this.data.first && !this.data.gDdatail) {
      // console.log('index显示')
      this.setData(
        {
          // dataArr: [],
          page: 1,
          getMore: false,
          gDdatail: false
        },
        () => {
          this.getThing_all(1, []);
        }
      );
    } else {
      this.setData({
        gDdatail: false
      });
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {
    this.setData(
      {
        // dataArr: [],
        page: 1,
        getMore: false
      },
      () => {
        this._login();
      }
    );
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {
    // console.log('触底')
    if (this.data.getMore) {
      this.setData(
        {
          page: this.data.page + 1,
          getMore: false
        },
        () => {
          this.getThing_all(this.data.page);
        }
      );
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {}
});
